"""
淘宝自动化登录测试 - 运行脚本
使用此文件来运行测试并生成Allure报告
"""
import pytest
import sys
import os
import subprocess


def run_tests():
    """运行测试并生成Allure报告"""
    print("="*60)
    print("开始运行淘宝自动化登录测试...")
    print("="*60)
    
    # 确保allure-results目录存在
    results_dir = "./allure-results"
    if not os.path.exists(results_dir):
        os.makedirs(results_dir)
    
    # 运行pytest测试
    exit_code = pytest.main([
        "test_taobao_login.py",
        "-v",  # 详细输出
        "-s",  # 显示print输出
        "--alluredir=./allure-results",  # Allure结果目录
        "--tb=short",  # 简短的错误追踪
    ])
    
    print("\n" + "="*60)
    if exit_code == 0:
        print("✅ 测试执行完成！")
    else:
        print("❌ 测试执行完成（有失败或错误）")
    print("="*60)
    
    # 提示如何查看报告
    print("\n📊 查看Allure报告:")
    print("   allure serve ./allure-results")
    print("\n或者使用以下命令生成HTML报告:")
    print("   allure generate ./allure-results -o ./allure-report --clean")
    print("   allure open ./allure-report")
    
    return exit_code


if __name__ == '__main__':
    try:
        exit_code = run_tests()
        sys.exit(exit_code)
    except KeyboardInterrupt:
        print("\n\n测试被用户中断")
        sys.exit(1)
    except Exception as e:
        print(f"\n\n运行测试时发生错误: {e}")
        sys.exit(1)

